A Framework to Support Research on Portable High Performance Parallelism

نویسندگان

  • Sean Halle
  • Dmitry Nadezhkin
  • Albert Cohen
چکیده

There is an increasing need for a framework that supports research on portable high-performance parallelism. Such a framework would facilitate two main goals: discovering how to separate application-specific code from hardwarespecific code, and supporting research on parallel schedulers and optimizations. The framework would be agnostic to language, however the knowledge gained might inform future language research with better understanding of the boundary between application and hardware. We propose a first step towards such a framework; to separate application code from hardware specific code, we define a “bi-directional” library interface that has both, library functions implemented by application-code, and library functions implemented by hardware-specific code. We also make the scheduler a first-class entity that is called as a library function. We provide a sample implementation of the framework that can automatically link the two directions and generate executables, from the same source, for each platform being investigated. To support research on run-time schedulers we provide a pool of instrumented applications and our implementation of the framework to plug research schedulers into. The interface makes an instrumented application appear to the scheduler as a black box that has a number of "knobs" to manipulate, via the interface. Optimizations that performCode Structure Transforms are also supported by the application pool and our sample implementation. The researcher is free to use their preferred language to write command-line tools to perform the transforms. The framework would invoke the plugged-in tools on the suite of applications and generate ready-torun executables for the target platform. We detail our first installment, which focuses on data parallelism, stating the interface defined so far. We describe the process of instrumenting a set of three applications, Hamiltonian Path (an NP-Complete problem) in Java, H264 Deblocking in C, and Matrix Multiply in Java. We describe the process of implementing, then plugging-in run-time schedulers for three hardware platforms: Multi-core, the Cell processor, and a heterogeneous collection of multi-core. We also share details of our sample implementation that transform tools and run-time schedulers can plug into.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Integrated Support for Task and Data Parallelism

We present an overview of research at the CRPC designed to provide an e cient, portable programmingmodel for scienti c applications possessing both task and data parallelism. Fortran M programs exploit task parallelism by providing language extensions for user-de ned process management and typed communication channels. A combination of compiler and run-time system support ensures modularity, sa...

متن کامل

Enhancing Productivity and Performance Portability of General-Purpose Parallel Programming

This past decade has seen the shift from single core to multicore processors in desktops and laptops, but software remains largely sequential and unable to benefit from the increasing number of cores. One difficulty is that current parallel programming approaches fall short of being general-purpose and in particular performance portable across platforms, datasets, and calling-contexts. We propo...

متن کامل

Airshed Pollution Modeling in an HPF Style Environment

In this paper, we describe our experience with developing Airshed, a large pollution modeling application, in the Fx programming environment. We demonstrate that high level parallel programming languages like Fx and High Performance Fortran offer a simple and attractive model for developing portable and efficient parallel applications. Performance results are presented for the Airshed applicati...

متن کامل

Airshed Pollution Modeling: A Case Study in Application Development in an HPF Environment

In this paper, we describe our experience with developing Airshed, a large pollution modeling application, in the Fx programming environment. We demonstrate that high level parallel programming languages like Fx and High Performance Fortran offer a simple and attractive model for developing portable and efficient parallel applications. Performance results are presented for the Airshed applicati...

متن کامل

An MPI-based Run-Time Support to Coordinate HPF Tasks

This paper describes COLTHPF, an MPI{based run{time support for the coordination of concurrent and communicating HPF tasks. COLTHPF is conceived for use by a compiler of a high-level coordination language to structure a set of data-parallel HPF tasks according to popular forms of task-parallelism. Since it requires only small changes to the run-time support of the HPF compiler used, COLTHPF is ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009